package com.yuyou.tas.lesson.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.yuyou.tas.service.api.lesson.entity.LessonClassUserRel;

import org.apache.ibatis.annotations.Param;

@Mapper
public interface LessonClassUserRelMapper {
    int deleteByPrimaryKey(Long id);

    int insert(LessonClassUserRel record);

    LessonClassUserRel selectByPrimaryKey(Long id);
    
    List<LessonClassUserRel> findByUserId(Long userId);

    List<LessonClassUserRel> findByLessonClassIdType(@Param(value = "lessonClassId")Long lessonClassId, @Param(value = "type")Integer type);

    int updateByPrimaryKeySelective(LessonClassUserRel record);

    int deleteByLessonClassId(Long lessonClassId);

    int delByLesClaId7Type(@Param(value = "lessonClassId") Long lessonClassId,@Param(value = "type") Integer type);
    
    int delBylesClaPlaChaId(Long lessonClassPlanChapterId);
    
    int deleteByClassIdUserId(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "authUserId") Long authUserId);

    int deleteByClassIdUserIdChapterId(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "authUserId") Long authUserId, @Param(value = "lessonClassPlanChapterId")Long lessonClassPlanChapterId);

    LessonClassUserRel selectByClassIdUserId(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "authUserId") Long authUserId);

    List<LessonClassUserRel> selectByClassIdUserIdType(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "authUserId") Long authUserId, @Param(value = "type")Integer type);

    LessonClassUserRel selectByClassIdUserIdChapterId(@Param(value = "lessonClassId") Long lessonClassId, @Param(value = "authUserId") Long authUserId, @Param(value = "lessonClassPlanChapterId")Long lessonClassPlanChapterId);
}